package com.reform.service;

import com.reform.pojo.phase.PhaseFile;
import com.baomidou.mybatisplus.extension.service.IService;
import com.reform.res.Result;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author mortale
 * @since 2021-09-21
 */
public interface IPhaseFileService extends IService<PhaseFile> {

    /**
     * 获取所有阶段检查文件信息
     * @return List<PhaseFile>
     */
    Result getAllPhaseFile();

    /**
     *
     * @param phaseId 阶段检查id
     * @param proId     项目id
     * @param phaseFileInfo     阶段检查问价JSON字符串 有filename filesize pfPath
     * @return
     */
    Result addPhaseFiles(String phaseId, String proId, String phaseFileInfo);

    /**
     * 根据阶段检查编号获取阶段检查文件信息
     * @param phaseId 阶段检查id
     * @return
     */
    Result getPhaseFileByPhaseId(String phaseId);

    /**
     * 根据项目编号获取阶段检查文件信息
     * @param proId 项目编号
     * @return
     */
    Result getPhaseFileByProId(String proId);

    /**
     * 删除阶段检查文件信息
     * @param pfId 阶段文件检查编号
     * @return
     */
    Result deletePhaseFile(String pfId);

    /**
     * 根据项目编号和阶段检查编号获取阶段检查文件信息
     * @param proId
     * @param phaseId
     * @return
     */
    Result getPhaseFileById(String proId, String phaseId);

    /**
     * 根据阶段文件检查编号修改阶段文件检查状态
     * @param pfId 阶段文件检查编号
     * @param status 文件状态
     * @return int
     */
    Result updateStatusByPfId(String pfId, Integer status);
}
